##EXERCCIO 9

vegas.t=function(dados,fator, nsim=1000, teste="bi") ##funo com argumentos, dados, fator, nsim(default=1000) e tipo de teste (default=bicaudal)
  {
  resulta<-rep(NA,nsim) ##cria o vetor de resultados
  resulta[1]<-diff(tapply(dados,fator,mean)[]) ## coloca o valor da diferenca observada na primeira posicao porque no vai ciclar o que j foi observado!
  for(i in 2:nsim) ## ciclos de permutacao
    {
      resulta[i]=diff(tapply(sample(dados),fator,mean)[]) ## gera mdia permutando os dados 1000 vezes. []tira a "legenda" da mdia
      
    }
  
  ##calculo do nosso p. Quo significativa a diferenca??
  
  hist(resulta,xlab="Diferenças sob a hipótese nula", main="") ## Histograma
  
  if(teste=="bi") ## se teste  bicaudal roda esse ciclo (ex:machos e femeas sao diferentes?)
    {
      abline(v = resulta[1], col="red") ## acrescenta 2 linhas do obervado ao histograma (macho-femea e femea-macho)
      abline(v = -1*resulta[1], col="red")
      bicaudal=sum(abs(resulta)>=abs(resulta[1])) ##soma todos os valores que foram maiores ou iguais  diferenca observada
      proba=bicaudal/nsim ##soma sobre o total resulta na probabilidade
      cat("\n modulo da diferenca observado =",abs(resulta[1]),"\n\t probabilidade erro tipo I =" , proba, "\n") ##Mostra resultado na tela "\n" pula linha e "\t" d um Tab
    }
  
  if(teste=="uni") ## se teste  unicaudal roda esse ciclo (ex:machos maior que femeas?)
    
    {
      if(resulta[1]<0) ##if's para considerar cauda de l ou de c
        {
          proba=sum(resulta<=resulta[1])/nsim
        }
      if(resulta[1]>=0)
        {
          proba=sum(resulta>=resulta[1])/nsim
          
        }
      
      abline(v = resulta[1], col="red") ## Acrescenta apenas uma linha ao histograma
      
      cat("\n diferença observada =",resulta[1],"\n\t probabilidade erro tipo I =" , proba, "\n") ##Mostra resultado na tela
    }
  return(resulta) ##return(list(proba,resulta))
}